//
//  ViewController.swift
//  1-06-字符串
//
//  Created by 范英强 on 16/1/23.
//  Copyright © 2016年 范英强. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        demo4()
    }
    
    //String & Range 的结合
    //在Swift中 String 和Range连用时  语法结构比较复杂
    func demo4(){
        let str = "我们一起飞"
        let newStr = (str as NSString).substringWithRange(NSMakeRange(2, 3))
        print(newStr)
        //从最右侧开始算 0 开始  -1 代表向左 一个
        let startIndex = str.startIndex.advancedBy(0)
        let endIndex = str.endIndex.advancedBy(-1)
        let helloString = str.substringWithRange(startIndex..<endIndex)
        print(helloString)
    }
    
    
    //格式化字符串
    func demo3(){
        let h = 8
        let m = 23
        let s = 9
        
       // let timeString = String(format: "%02d:%02d:%02d", arguments: [h,m,s])
        
        let timeStr = String(format: "%02d:%02d:%02d", h,m,s)
        print(timeStr)
    }
    
    func demo2(){
        //字符串拼接
        //如果变量是可选项 拼接的结果中会有Optional
        //为了应对强行解包的风险 苹果提供了'??'操作符
        
        let str1 = "Hello"
        let str2 = "Word"
        
        let i:Int? = 0
        
        let str = str1 + str2 + "\(i ?? 0)"
        print(str)
    }
    
    //Swift 中 绝大数情况下 建议使用String 类型
    //String 是一个结构体 性能更高
    //String目前具有绝大数NSString的功能
    //String支持直接遍历
    func demo1() {
        
        //遍历字符串中的字符
        let str:String = "哈哈"
        
        for s in str.characters {
            print(s)
        }
        
        print("=================")
        
        //计算字符串长度（以字节为单位）(一个中文占三个字节)
        let len1 =  str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)
        print("以字节为单位\(len1)")
        
        //计算实际字符个数
        
        let len2 = str.characters.count
        print(len2)
        
        //计算 utf8 编码长度
        let len3 = str.utf8.count
        print(len3)
        
    }

    


}

